function [welfareSize] = WelfareSearcherDLCs(ratio,basispointimpact,dollarvolumes)
%Returns welfare in millions based on a given ratio, alpha value, and
%crossmarket value
Values = @(m) (1.*(1 + (((100*abs(1000000*m)./dollarvolumes).^0.5)*basispointimpact.*sign(m))))-((1+ratio).*(1 - (((100*abs(1000000*m)/dollarvolumes).^0.5)*basispointimpact.*sign(m))));
Values2 = @(m) (1.*(1 + (((100*abs(1000000*m)./dollarvolumes).^0.5)*basispointimpact.*sign(m))))./((1+ratio).*(1- (((100*abs(1000000*m)/dollarvolumes).^0.5)*basispointimpact.*sign(m))))-1;
options = optimoptions('fsolve','FunctionTolerance',1e-12,'OptimalityTolerance',1e-24,'StepTolerance',1e-12,'MaxFunctionEvaluations',1e3);
m1 = fsolve(Values,1,options);
grid = (1:max(1,round(m1/1000,0)):abs(m1))*sign(m1);
evals = Values2(grid);
welfareSize = sum(evals)*max(1,round(m1/1000,0));

end

